-- AddTile的具体定义可以去看游戏文件 /scripts/modutil.lua 第356~425行 和 /scripts/tilemanager.lua
-- 导入数据表 这里是通用的定义 如果还要别的东西 需要自己写
-- 这些代码是需要放在 modworldgenmain.lua文件中的 数据表自己随意 附录一份数据表
-- local TitleData = require("main/wanyuan_titledata")
-- 地皮纹理文件夹 和 scripts同级  目录固定为： levels/texture
-- By:姜
----------------------------------------------------------------------------------------------------
-- 添加配方 这里的代码内容 导入到modmain.lua 文件中 产物数量记得 4个 不需要自己去写地皮prefab 添加地皮后 自动生成prefab
-- 还有添加字符串 自动生成的prefab 名称 = truf_data.product
-- 地皮粉花
table.insert(Assets, Asset("ATLAS", "images/inventoryimages/turf_wanyuan_fenhua.xml"))
RegisterInventoryItemAtlas("images/inventoryimages/turf_wanyuan_fenhua.xml", "turf_wanyuan_fenhua.tex")

AddRecipe2("turf_wanyuan_fenhua", {
    Ingredient("wanyuan_taohua", 4, "images/inventoryimages/wanyuan_taohua.xml"),
    Ingredient("boards", 4), Ingredient("rocks", 6)
}
, TECH.SCIENCE_ONE, { builder_tag = "wanyuan", numtogive = 4 }, { "CHARACTER", "DECOR" })
----------------------------------------------------------------------------------------------------
-- 添加地皮 放在 modworldgenmain.lua 文件中
-- 这些代码是需要放在 modworldgenmain.lua文件中的 数据表自己随意 附录一份数据表
-- ======================================================================================================
--[[ 数据表 START ]]
-- ======================================================================================================
local function MergeTables(target, source)
    for k, v in pairs(source) do
        if target[k] == nil then
            target[k] = v
        end
    end
    return target
end

-- 默认地皮属性
local DEFAULT_TILE_PROPERTIES = {
    land = "LAND",
    texture = "carpet",                          -- 边缘纹理：没有就用原版，牛毛地毯 carpet 棋盘 blocky 岩石 rocky
    runsound = "dontstarve/movement/run_marble", -- 地皮行走声音
    walksound = "dontstarve/movement/walk_marble",
    snowsound = "dontstarve/movement/run_ice",
    mudsound = "dontstarve/movement/run_mud",
    no_fire_spread = true,                         -- 阻止火焰蔓延（自定义属性，需要在 modworldgenmain.lua 中处理）
    roadways = true,                               -- 标记为 true 则玩家在上面可以加速，类似于卵石路
    cannotbedug = nil,                             -- 标记为 true 则不能挖掉
    mini_name = "map_edge",                        -- 小地图边缘样式，懒得管就这里默认
    mini_noise_texture = "mini_cobblestone_noise", -- 小地图图片，地图上面显示的区块颜色
    product_bank_build = "wanyuan_turf",           -- 动画包的 build 和 bank
    -- product_pickupsound = "vegetation_grassy",  -- 地皮被捡起来的声音（如果需要，取消注释）
}

local TitleData = {
    -- 粉花地毯
    MergeTables({
        key = "wanyuan_fenhua_carpet", -- 地皮编号 不要重复 不然gg
        title_name = "WANYUAN_FENHUA", -- 地皮名称
        noise_texture = "wanyuan_fenhua_noise_texture", -- 地皮纹理 levels/texture 的 tex 名称
        flooring = true, -- 标记为 true 则上面不能生长植物
        hard = true, -- 标记为 true 则上面不可种植植物
        product = "wanyuan_fenhua", -- 掉落物的代码，配方要跟 turf_在前面
        product_anim = "anim_fenhua", -- idle 状态的动画名称
    }, DEFAULT_TILE_PROPERTIES),}
-- ======================================================================================================
--[[ 数据表END ]]
-- ======================================================================================================
-- return TitleData
-- AddTile的具体定义可以去看游戏文件 /scripts/modutil.lua 第356~425行 和 /scripts/tilemanager.lua
-- 导入数据表 这里是通用的定义 如果还要别的东西 需要自己写
-- 这些代码是需要放在 modworldgenmain.lua文件中的 数据表自己随意 附录一份数据表
local TitleData = require("main/wanyuan_titledata")
-- 地皮纹理文件夹 和 scripts同级  目录固定为： levels/texture
-- return TitleData
for i, data in pairs(TitleData) do
    AddTile(
        data.title_name,            -- 地皮名称
        data.land,                  -- 地皮类型
        {
            ground_name = data.key, -- 地皮编号
        },
        {
            name = data.texture,                -- 边缘样式
            noise_texture = data.noise_texture, -- 地皮图片

            -- 定义在地皮上行走的声音
            runsound = data.runsound,
            walksound = data.walksound,
            snowsound = data.snowsound,
            mudsound = data.mudsound,
            no_fire_spread = data.no_fire_spread or false, -- 阻止火焰蔓延 行李说的东西 然后哈吉米搜索到的  确实可用
            flooring = data.flooring,                      -- 标记为true则上面不能生长植物
            hard = data.hard,                              -- 标记为true则上面不可种植植物
            roadways = data.roadways,                      -- 标记为true则玩家在上面可以加速
            cannotbedug = data.cannotbedug,                -- 标记为true则不能挖掉
        },
        {
            name = data.mini_name,
            noise_texture = data.mini_noise_texture, -- 地区区块图片
        },
        -- 挖掉的定义
        {
            name = data.product, -- 掉落物的代码 这里填了之后 会自动生成prefab 并且前面加 truf_ 所以我们还需要去添加它的配方 以及注册贴图
            anim = data.product_anim,
            bank_build = data.product_bank_build,
            -- pickupsound = data.product_pickupsound, -- 如果需要，取消注释
        }
    )
    ChangeTileRenderOrder(WORLD_TILES[data.title_name], WORLD_TILES.FARMING_SOIL)
end